home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 1.iso / toolbox / src / demos / OpenGL / ideas / m.c < prev    next >
C/C++ Source or Header  |  1996-11-11  |  6KB  |  230 lines

  1. /*
  2.  * (c) Copyright 1993, Silicon Graphics, Inc.
  3.  * ALL RIGHTS RESERVED 
  4.  * Permission to use, copy, modify, and distribute this software for 
  5.  * any purpose and without fee is hereby granted, provided that the above
  6.  * copyright notice appear in all copies and that both the copyright notice
  7.  * and this permission notice appear in supporting documentation, and that 
  8.  * the name of Silicon Graphics, Inc. not be used in advertising
  9.  * or publicity pertaining to distribution of the software without specific,
  10.  * written prior permission. 
  11.  *
  12.  * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
  13.  * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
  14.  * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
  15.  * FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL SILICON
  16.  * GRAPHICS, INC.  BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
  17.  * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
  18.  * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
  19.  * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
  20.  * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC.  HAS BEEN
  21.  * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
  22.  * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
  23.  * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
  24.  * 
  25.  * US Government Users Restricted Rights 
  26.  * Use, duplication, or disclosure by the Government is subject to
  27.  * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
  28.  * (c)(1)(ii) of the Rights in Technical Data and Computer Software
  29.  * clause at DFARS 252.227-7013 and/or in similar or successor
  30.  * clauses in the FAR or the DOD or NASA FAR Supplement.
  31.  * Unpublished-- rights reserved under the copyright laws of the
  32.  * United States.  Contractor/manufacturer is Silicon Graphics,
  33.  * Inc., 2011 N.  Shoreline Blvd., Mountain View, CA 94039-7311.
  34.  *
  35.  * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
  36.  */
  37. #include <GL/gl.h>
  38.  
  39.  
  40. float m_data[][2] = {
  41.     {0.590769, 9.449335},
  42.     {2.116923, 9.842375},
  43.     {1.362051, 9.383828},
  44.     {2.527179, 9.825998},
  45.     {1.591795, 9.072672},
  46.     {2.789744, 9.514841},
  47.     {1.690256, 8.663255},
  48.     {2.658462, 8.335722},
  49.     {1.575385, 7.222108},
  50.     {2.067692, 6.255886},
  51.     {0.918974, 4.028659},
  52.     {1.050256, 3.013306},
  53.     {0.705641, 3.013306},
  54.  
  55.     {2.018461, 6.386899},
  56.     {1.788718, 5.617196},
  57.     {2.921026, 7.991812},
  58.     {3.167180, 8.008188},
  59.     {3.544615, 8.827022},
  60.     {3.872821, 8.843398},
  61.     {4.414359, 9.547595},
  62.     {4.447179, 9.056294},
  63.     {5.120000, 9.891504},
  64.     {4.841026, 8.843398},
  65.     {5.825641, 9.809621},
  66.     {5.005128, 8.040941},
  67.     {5.989744, 8.761515},
  68.     {4.906667, 6.714432},
  69.     {5.595897, 7.123848},
  70.     {3.987692, 2.996929},
  71.     {4.348718, 2.996929},
  72.  
  73.     {5.218462, 5.977482},
  74.     {5.251282, 6.354146},
  75.     {6.449231, 7.893552},
  76.     {6.400000, 8.221085},
  77.     {7.302564, 8.843398},
  78.     {7.351795, 9.334698},
  79.     {7.827693, 9.154554},
  80.     {8.008205, 9.842375},
  81.     {8.139487, 9.121801},
  82.     {8.795897, 9.973388},
  83.     {8.402051, 8.728762},
  84.     {9.337436, 9.531218},
  85.     {8.402051, 8.040941},
  86.     {9.288205, 8.433982},
  87.     {7.745641, 5.813715},
  88.     {8.320000, 5.928352},
  89.     {7.286154, 4.012282},
  90.     {7.991795, 4.126919},
  91.     {7.499487, 3.357216},
  92.     {8.533334, 3.766633},
  93.     {8.123077, 3.062436},
  94.     {8.927179, 3.832139},
  95.     {8.910769, 3.340839},
  96.     {9.550769, 4.126919},
  97.  
  98. };
  99.  
  100. void draw_m(void) {
  101.  
  102.     glBegin(GL_LINE_STRIP);
  103.     glVertex2fv(m_data[0]);
  104.     glVertex2fv(m_data[2]);
  105.     glVertex2fv(m_data[4]);
  106.     glVertex2fv(m_data[6]);
  107.     glVertex2fv(m_data[8]);
  108.     glVertex2fv(m_data[10]);
  109.     glVertex2fv(m_data[12]);
  110.     glVertex2fv(m_data[11]);
  111.     glVertex2fv(m_data[9]);
  112.     glVertex2fv(m_data[7]);
  113.     glVertex2fv(m_data[5]);
  114.     glVertex2fv(m_data[3]);
  115.     glVertex2fv(m_data[1]);
  116.     glEnd();
  117.  
  118.     glBegin(GL_LINE_STRIP);
  119.     glVertex2fv(m_data[14]);
  120.     glVertex2fv(m_data[16]);
  121.     glVertex2fv(m_data[18]);
  122.     glVertex2fv(m_data[20]);
  123.     glVertex2fv(m_data[22]);
  124.     glVertex2fv(m_data[24]);
  125.     glVertex2fv(m_data[26]);
  126.     glVertex2fv(m_data[28]);
  127.     glVertex2fv(m_data[29]);
  128.     glVertex2fv(m_data[27]);
  129.     glVertex2fv(m_data[25]);
  130.     glVertex2fv(m_data[23]);
  131.     glVertex2fv(m_data[21]);
  132.     glVertex2fv(m_data[19]);
  133.     glVertex2fv(m_data[17]);
  134.     glVertex2fv(m_data[15]);
  135.     glVertex2fv(m_data[13]);
  136.     glEnd();
  137.  
  138.     glBegin(GL_LINE_STRIP);
  139.     glVertex2fv(m_data[30]);
  140.     glVertex2fv(m_data[32]);
  141.     glVertex2fv(m_data[34]);
  142.     glVertex2fv(m_data[36]);
  143.     glVertex2fv(m_data[38]);
  144.     glVertex2fv(m_data[40]);
  145.     glVertex2fv(m_data[42]);
  146.     glVertex2fv(m_data[44]);
  147.     glVertex2fv(m_data[46]);
  148.     glVertex2fv(m_data[48]);
  149.     glVertex2fv(m_data[50]);
  150.     glVertex2fv(m_data[52]);
  151.     glVertex2fv(m_data[53]);
  152.     glVertex2fv(m_data[51]);
  153.     glVertex2fv(m_data[49]);
  154.     glVertex2fv(m_data[47]);
  155.     glVertex2fv(m_data[45]);
  156.     glVertex2fv(m_data[43]);
  157.     glVertex2fv(m_data[41]);
  158.     glVertex2fv(m_data[39]);
  159.     glVertex2fv(m_data[37]);
  160.     glVertex2fv(m_data[35]);
  161.     glVertex2fv(m_data[33]);
  162.     glVertex2fv(m_data[31]);
  163.     glEnd();
  164.  
  165.     glBegin(GL_TRIANGLE_STRIP);
  166.     glVertex2fv(m_data[0]);
  167.     glVertex2fv(m_data[1]);
  168.     glVertex2fv(m_data[2]);
  169.     glVertex2fv(m_data[3]);
  170.     glVertex2fv(m_data[4]);
  171.     glVertex2fv(m_data[5]);
  172.     glVertex2fv(m_data[6]);
  173.     glVertex2fv(m_data[7]);
  174.     glVertex2fv(m_data[8]);
  175.     glVertex2fv(m_data[9]);
  176.     glVertex2fv(m_data[10]);
  177.     glVertex2fv(m_data[11]);
  178.     glVertex2fv(m_data[12]);
  179.     glEnd();
  180.  
  181.     glBegin(GL_TRIANGLE_STRIP);
  182.     glVertex2fv(m_data[13]);
  183.     glVertex2fv(m_data[14]);
  184.     glVertex2fv(m_data[15]);
  185.     glVertex2fv(m_data[16]);
  186.     glVertex2fv(m_data[17]);
  187.     glVertex2fv(m_data[18]);
  188.     glVertex2fv(m_data[19]);
  189.     glVertex2fv(m_data[20]);
  190.     glVertex2fv(m_data[21]);
  191.     glVertex2fv(m_data[22]);
  192.     glVertex2fv(m_data[23]);
  193.     glVertex2fv(m_data[24]);
  194.     glVertex2fv(m_data[25]);
  195.     glVertex2fv(m_data[26]);
  196.     glVertex2fv(m_data[27]);
  197.     glVertex2fv(m_data[28]);
  198.     glVertex2fv(m_data[29]);
  199.     glEnd();
  200.  
  201.     glBegin(GL_TRIANGLE_STRIP);
  202.     glVertex2fv(m_data[30]);
  203.     glVertex2fv(m_data[31]);
  204.     glVertex2fv(m_data[32]);
  205.     glVertex2fv(m_data[33]);
  206.     glVertex2fv(m_data[34]);
  207.     glVertex2fv(m_data[35]);
  208.     glVertex2fv(m_data[36]);
  209.     glVertex2fv(m_data[37]);
  210.     glVertex2fv(m_data[38]);
  211.     glVertex2fv(m_data[39]);
  212.     glVertex2fv(m_data[40]);
  213.     glVertex2fv(m_data[41]);
  214.     glVertex2fv(m_data[42]);
  215.     glVertex2fv(m_data[43]);
  216.     glVertex2fv(m_data[44]);
  217.     glVertex2fv(m_data[45]);
  218.     glVertex2fv(m_data[46]);
  219.     glVertex2fv(m_data[47]);
  220.     glVertex2fv(m_data[48]);
  221.     glVertex2fv(m_data[49]);
  222.     glVertex2fv(m_data[50]);
  223.     glVertex2fv(m_data[51]);
  224.     glVertex2fv(m_data[52]);
  225.     glVertex2fv(m_data[53]);
  226.     glEnd();
  227.  
  228. }
  229.  
  230.